package com.zbkj.front.service.user;

import com.zbkj.service.model.front.req.user.*;
import com.zbkj.service.model.front.vo.CustomerServiceVO;
import com.zbkj.service.model.front.vo.user.BankInfoVO;
import com.zbkj.service.model.front.vo.user.UserInfoVO;
import com.zbkj.service.model.front.vo.user.UserLevelRecordVO;

import java.util.List;

public interface UserV2Service {
    /**
     * 会员信息
     *
     * @return {@link UserInfoVO}
     */
    UserInfoVO memberInfo();

    /**
     * 用户银行卡信息
     *
     * @return {@link BankInfoVO}
     */
    BankInfoVO userBank();

    /**
     * 添加银行信息
     *
     * @param req req
     */
    void addBankInfo(BindBankcardReq req);

    /**
     * 用户等级记录
     *
     * @param userId 用户 ID
     * @return {@link List}<{@link UserLevelRecordVO}>
     */
    List<UserLevelRecordVO> userLevelRecord(Integer userId);

    /**
     * 用户客服信息
     *
     * @return {@link CustomerServiceVO}
     */
    CustomerServiceVO customerService();

    /**
     * 解绑银行卡
     *
     * @param req req
     */
    void unbindUserBank(UnbindBankReq req);
}
